Ungkap misteri CSS @charset. Pelajari peran pentingnya dalam pengodean karakter untuk stylesheet, memastikan tampilan teks global dan mencegah mojibake pada beragam bahasa dan skrip di seluruh dunia. Penting bagi setiap developer web.
CSS @charset: Arsitek Tak Terlihat dari Tampilan Teks Global
Dalam dunia pengembangan web yang rumit, di mana setiap piksel dan karakter harus dirender dengan sempurna di berbagai perangkat dan budaya, sering kali ada detail halus namun krusial yang luput dari perhatian hingga terjadi masalah. Salah satu detail tersebut, yang menjadi dasar kehadiran web internasional yang kuat, adalah pengodean karakter. Untuk CSS, secara spesifik, ini melibatkan aturan @charset. Meskipun tampak sepele, memahami dan menerapkan @charset dengan benar adalah hal terpenting untuk memastikan stylesheet Anda berbicara dalam bahasa yang sama dengan konten Anda, menampilkan teks dengan sempurna kepada audiens global.
Panduan komprehensif ini menggali lebih dalam tentang pentingnya @charset, menjelajahi perannya dalam lanskap pengodean karakter yang lebih luas di web. Kita akan mengungkap mengapa ini penting, bagaimana ia berinteraksi dengan deklarasi pengodean lain, praktik terbaik penggunaannya, dan kesalahan umum yang harus dihindari, semuanya melalui lensa penciptaan pengalaman web yang benar-benar global.
Memahami Pengodean Karakter: Fondasinya
Sebelum kita dapat sepenuhnya menghargai @charset, kita harus terlebih dahulu memahami konsep pengodean karakter. Pada intinya, pengodean karakter adalah sistem yang memberikan nilai numerik unik untuk karakter β huruf, angka, simbol, dan bahkan emoji β memungkinkan mereka disimpan, ditransmisikan, dan ditampilkan secara digital. Tanpa pengodean yang konsisten, urutan byte hanyalah data; dengannya, byte-byte tersebut berubah menjadi teks yang bermakna.
Evolusi Set Karakter
- ASCII (American Standard Code for Information Interchange): Standar pengodean paling awal dan paling fundamental. ASCII memetakan 128 karakter (0-127), terutama mencakup huruf alfabet Inggris, angka, dan tanda baca dasar. Kesederhanaannya bersifat revolusioner, tetapi cakupannya yang terbatas dengan cepat menjadi penghalang seiring berkembangnya komputasi secara global.
- ISO-8859-1 (Latin-1): Perluasan dari ASCII, menambahkan 128 karakter lain (128-255) untuk mendukung bahasa-bahasa Eropa Barat, termasuk karakter dengan diakritik (aksen, umlaut) seperti Γ©, ΓΌ, Γ§. Meskipun merupakan langkah yang signifikan, ini masih kurang untuk bahasa yang menggunakan skrip yang sama sekali berbeda, seperti Kiril, Arab, atau karakter Asia Timur.
- Kebutuhan akan Pengodean Universal: Seiring internet menjadi fenomena global, keterbatasan pengodean satu-byte menjadi sangat jelas. Situs web yang menyajikan konten dalam berbagai bahasa atau yang menargetkan komunitas linguistik yang beragam menghadapi tantangan yang tidak dapat diatasi. Diperlukan pengodean universal yang dapat merepresentasikan setiap karakter dalam setiap bahasa manusia, dan bahkan banyak simbol non-manusia.
UTF-8: Standar Global
Masuklah UTF-8 (Unicode Transformation Format - 8-bit), pengodean karakter yang dominan untuk web saat ini, dan dengan alasan yang bagus. UTF-8 adalah pengodean dengan lebar variabel yang dapat merepresentasikan karakter apa pun dalam standar Unicode. Unicode adalah set karakter besar yang bertujuan untuk mencakup semua karakter dari semua sistem tulisan di dunia. Sifat lebar variabel UTF-8 berarti:
- Karakter ASCII umum direpresentasikan oleh satu byte, membuatnya kompatibel ke belakang dan efisien untuk teks bahasa Inggris.
- Karakter dari skrip lain (misalnya, Yunani, Kiril, Arab, Cina, Jepang, Korea, Hindi, Thai) direpresentasikan oleh dua, tiga, atau empat byte.
- Sangat efisien untuk konten dengan skrip campuran, karena tidak membuang ruang pada karakter satu-byte.
- Tangguh dan didukung secara luas di berbagai browser, sistem operasi, dan bahasa pemrograman.
Rekomendasi yang sangat kuat untuk semua konten web baru adalah menggunakan UTF-8. Ini menyederhanakan pengembangan, memastikan kompatibilitas maksimum, dan sangat penting untuk jangkauan global.
Aturan @charset CSS: Tinjauan Mendalam
Dengan pemahaman tentang pengodean karakter, kita sekarang dapat fokus pada aturan @charset CSS. Aturan ini memiliki satu tujuan penting: untuk menentukan pengodean karakter dari stylesheet itu sendiri.
Sintaks dan Penempatan
Sintaks untuk @charset sangat sederhana:
@charset "UTF-8";
Atau, untuk pengodean yang lebih lama dan kurang direkomendasikan:
@charset "ISO-8859-1";
Ada aturan-aturan penting mengenai penempatannya:
- Ini HARUS menjadi elemen paling pertama di stylesheet. Tidak boleh ada komentar, spasi putih (kecuali untuk byte-order mark opsional), atau aturan CSS atau at-rules lain yang mendahuluinya.
- Jika bukan elemen pertama, parser CSS akan mengabaikannya, yang berpotensi menimbulkan masalah pengodean.
- Ini hanya berlaku untuk stylesheet tempat ia dideklarasikan. Jika Anda memiliki beberapa file CSS, setiap file memerlukan aturan
@charsetsendiri jika pengodeannya mungkin berbeda dari pengodean default atau yang disimpulkan.
Mengapa Ini Dibutuhkan?
Bayangkan file CSS Anda berisi font kustom dengan rentang karakter tertentu, atau menggunakan properti konten dengan simbol khusus, atau mungkin mendefinisikan kelas dengan nama yang mengandung karakter non-ASCII (meskipun ini umumnya tidak disarankan untuk nama kelas, hal itu mungkin). Jika browser menafsirkan byte dari file CSS Anda menggunakan pengodean yang berbeda dari cara penyimpanannya, karakter-karakter tersebut akan muncul sebagai teks yang kacau, yang dikenal sebagai "mojibake" (δΉ±γζε - Bahasa Jepang untuk "karakter acak").
Aturan @charset secara eksplisit memberi tahu browser, "Hei, file CSS ini ditulis menggunakan pengodean karakter spesifik ini. Tolong interpretasikan byte-nya sesuai dengan itu." Deklarasi eksplisit ini membantu mencegah salah tafsir, terutama ketika ada konflik atau ambiguitas dalam deklarasi pengodean lainnya.
Hierarki Deklarasi Pengodean
Penting untuk dipahami bahwa aturan @charset bukanlah satu-satunya cara browser menentukan pengodean file CSS. Ada hierarki prioritas spesifik yang diikuti oleh browser:
-
Header HTTP
Content-Type: Ini adalah metode yang paling otoritatif dan lebih disukai. Ketika server web mengirimkan file CSS, ia dapat menyertakan headerHTTP Content-Typedengan parametercharset, misalnya:Content-Type: text/css; charset=UTF-8. Jika header ini ada, browser akan menghormatinya di atas segalanya.Metode ini kuat karena diatur oleh server, memastikan konsistensi bahkan sebelum browser mulai mem-parsing konten file. Ini sering dikonfigurasi di tingkat server (misalnya, Apache, Nginx) atau dalam skrip sisi server (misalnya, PHP, Node.js).
-
Byte Order Mark (BOM): BOM adalah urutan byte khusus di awal file yang menunjukkan pengodeannya (khususnya untuk pengodean UTF seperti UTF-8, UTF-16). Meskipun BOM UTF-8 secara teknis opsional dan terkadang dapat menyebabkan masalah (misalnya, spasi putih tambahan di browser/server lama), kehadirannya memberi tahu browser, "File ini dikodekan dengan UTF-8." Jika BOM ada, ia akan lebih diutamakan daripada aturan
@charset.Untuk UTF-8, urutan BOM adalah
EF BB BF. Banyak editor teks secara otomatis menambahkan BOM saat menyimpan sebagai "UTF-8 with BOM." Umumnya direkomendasikan untuk menyimpan file UTF-8 tanpa BOM untuk konten web, untuk menghindari potensi gangguan rendering atau masalah parser. -
Aturan
@charset: Jika tidak ada header HTTPContent-Typemaupun BOM, browser akan mencari aturan@charsetsebagai pernyataan pertama dalam file CSS. Jika ditemukan, ia akan menggunakan pengodean yang dideklarasikan tersebut. -
Pengodean Dokumen Induk: Jika tidak ada satu pun dari yang di atas yang ditentukan, browser biasanya akan kembali ke pengodean dokumen HTML yang menautkan ke file CSS tersebut. Misalnya, jika dokumen HTML Anda memiliki
<meta charset="UTF-8">dan tidak ada petunjuk pengodean lain untuk CSS, browser akan mengasumsikan CSS juga UTF-8. - Pengodean Default: Sebagai upaya terakhir, jika tidak ada informasi pengodean eksplisit yang tersedia dari sumber mana pun, browser akan menerapkan pengodean defaultnya (yang bervariasi tetapi seringkali UTF-8 di browser modern, atau pengodean spesifik lokal di browser lama). Ini adalah skenario paling berisiko dan harus dihindari dengan segala cara, karena ini adalah penyebab paling umum dari mojibake.
Hierarki ini menjelaskan mengapa Anda mungkin terkadang melihat file CSS ditampilkan dengan benar bahkan tanpa aturan @charset eksplisit, terutama jika server Anda secara konsisten mengirim header UTF-8 atau dokumen HTML Anda mendeklarasikan UTF-8.
Kapan dan Mengapa Menggunakan @charset
Mengingat hierarki tersebut, orang mungkin bertanya-tanya: Apakah @charset selalu diperlukan? Jawabannya bernuansa, tetapi secara umum, ini adalah praktik yang baik, terutama dalam skenario tertentu:
-
Sebagai Cadangan yang Kuat: Bahkan jika server Anda dikonfigurasi untuk mengirim header
UTF-8, menyertakan@charset "UTF-8";di bagian atas file CSS Anda berfungsi sebagai deklarasi internal yang eksplisit. Ini sangat berguna di lingkungan pengembangan di mana konfigurasi server mungkin tidak konsisten, atau ketika file dilihat secara lokal tanpa server. - Untuk Konsistensi dan Kejelasan: Ini membuat pengodean file CSS menjadi eksplisit bagi siapa pun yang membuka file, baik itu pengembang, manajer konten, atau spesialis lokalisasi. Kejelasan ini mengurangi ambiguitas dan potensi kesalahan selama kolaborasi, terutama di antara tim internasional.
-
Saat Migrasi atau Berurusan dengan Sistem Lama: Jika Anda bekerja dengan file CSS lama yang mungkin dibuat dengan pengodean berbeda (misalnya, ISO-8859-1 atau Windows-1252), dan Anda perlu mempertahankan pengodean tersebut untuk sementara atau selama fase migrasi,
@charsetmenjadi penting untuk menafsirkan file-file tersebut dengan benar. -
Saat Menggunakan Karakter Non-ASCII di CSS: Meskipun umumnya tidak disarankan untuk keterbacaan dan pemeliharaan, CSS memungkinkan pengenal (seperti nama kelas atau nama font) untuk mengandung karakter non-ASCII jika mereka di-escape atau pengodean file menanganinya dengan benar. Misalnya, jika Anda mendefinisikan keluarga font sebagai
font-family: "Libre Baskerville Cyrillic";atau menggunakan simbol karakter spesifik dalam properticontent(content: '€';untuk simbol Euro, atau langsungcontent: 'β¬';), maka memastikan pengodean file CSS dideklarasikan dengan benar menjadi sangat penting.@charset "UTF-8"; .currency-symbol::before { content: "β¬"; /* Simbol Euro UTF-8 */ } .multilingual-text::after { content: "μλ νμΈμ"; /* Karakter Korea */ }Tanpa
@charsetyang benar (atau petunjuk pengodean kuat lainnya), karakter-karakter ini dapat dirender sebagai tanda tanya atau simbol salah lainnya. -
Stylesheet Eksternal di Domain Berbeda: Meskipun kurang umum untuk aset biasa, jika Anda menautkan ke file CSS yang dihosting di domain yang sama sekali berbeda, konfigurasi server mereka mungkin sangat berbeda. Sebuah
@charsetyang eksplisit dapat memberikan lapisan ketahanan tambahan terhadap ketidakcocokan pengodean yang tidak terduga.
Intinya, sementara UTF-8 adalah pengodean yang direkomendasikan secara universal dan header server adalah mekanisme yang paling kuat, @charset "UTF-8"; berfungsi sebagai perlindungan yang sangat baik dan deklarasi niat yang jelas di dalam stylesheet Anda, meningkatkan portabilitas dan mengurangi kemungkinan masalah terkait pengodean untuk audiens global.
Praktik Terbaik untuk Pengodean Karakter Global
Untuk memastikan pengalaman web yang mulus dan dapat diakses secara global, mematuhi strategi pengodean yang konsisten di semua aset web Anda sangat penting. Berikut adalah praktik terbaik, dengan @charset memainkan perannya:
1. Standarkan pada UTF-8 di Mana Saja
Ini adalah aturan emas. Jadikan UTF-8 sebagai pengodean default dan universal Anda untuk:
- Semua Dokumen HTML: Deklarasikan secara eksplisit
<meta charset="UTF-8">di dalam bagian<head>HTML Anda. Ini harus menjadi salah satu meta tag pertama. - Semua Stylesheet CSS: Simpan semua file
.cssAnda sebagai UTF-8. Selain itu, sertakan@charset "UTF-8";sebagai baris paling pertama dari setiap file CSS. - Semua File JavaScript: Simpan file
.jsAnda sebagai UTF-8. Meskipun JavaScript tidak memiliki padanan@charset, konsistensi adalah kunci. - Konfigurasi Server: Konfigurasikan server web Anda (Apache, Nginx, IIS, dll.) untuk menyajikan semua konten berbasis teks dengan header
Content-Type: text/html; charset=UTF-8atauContent-Type: text/css; charset=UTF-8. Ini adalah metode yang paling kuat dan lebih disukai. - Pengodean Basis Data: Pastikan basis data Anda (misalnya, MySQL, PostgreSQL) dikonfigurasi untuk menggunakan UTF-8 (khususnya
utf8mb4untuk MySQL agar sepenuhnya mendukung semua karakter Unicode, termasuk emoji). - Lingkungan Pengembangan: Konfigurasikan editor teks, IDE, dan sistem kontrol versi Anda untuk menggunakan UTF-8 sebagai default. Ini mencegah penyimpanan yang tidak disengaja dalam pengodean yang berbeda.
Dengan secara konsisten menggunakan UTF-8 di seluruh tumpukan teknologi Anda, Anda secara dramatis mengurangi kemungkinan masalah terkait pengodean, memastikan bahwa teks dalam bahasa apa pun, dari skrip apa pun, ditampilkan sebagaimana mestinya bagi pengguna di seluruh dunia.
2. Selalu Simpan File sebagai UTF-8 (Tanpa BOM)
Sebagian besar editor teks modern (seperti VS Code, Sublime Text, Atom, Notepad++) memungkinkan Anda untuk menentukan pengodean saat menyimpan. Selalu pilih "UTF-8" atau "UTF-8 without BOM." Seperti yang disebutkan, meskipun BOM menandakan pengodean, terkadang dapat menyebabkan masalah parsing kecil atau karakter tak terlihat, jadi umumnya lebih baik dihindari untuk konten web.
3. Validasi dan Uji
- Alat Pengembang Browser: Gunakan alat pengembang browser Anda untuk memeriksa header HTTP untuk file CSS Anda. Konfirmasikan bahwa header
Content-Typemenyertakancharset=UTF-8. - Pengujian Lintas Browser dan Lintas Perangkat: Uji situs web Anda di berbagai browser (Chrome, Firefox, Safari, Edge) dan sistem operasi, termasuk perangkat seluler, untuk menangkap setiap inkonsistensi rendering.
- Pengujian Konten Internasionalisasi: Jika situs Anda mendukung berbagai bahasa, uji dengan konten dalam skrip yang berbeda (misalnya, Arab, Rusia, Cina, Devanagari) untuk memastikan semua karakter dirender dengan benar. Berikan perhatian khusus pada karakter yang mungkin berada di luar bidang multibahasa dasar (BMP), seperti emoji tertentu, yang memerlukan empat byte dalam UTF-8.
4. Pertimbangkan Font Cadangan untuk Karakter Internasional
Meskipun pengodean karakter memastikan browser menafsirkan byte dengan benar, menampilkan karakter tersebut bergantung pada sistem pengguna yang memiliki font yang berisi mesin terbang (glyph) yang diperlukan. Jika font web kustom tidak mendukung karakter tertentu, browser akan kembali ke font sistem. Pastikan tumpukan font Anda kuat dan menyertakan keluarga font generik (seperti sans-serif, serif) sebagai cadangan untuk menangani karakter yang tidak ada di font web utama Anda.
Kesalahan Umum dan Pemecahan Masalah
Meskipun praktik terbaik telah diikuti, masalah pengodean terkadang dapat muncul. Berikut cara mengidentifikasi dan menyelesaikan masalah umum terkait @charset dan pengodean karakter:
1. Penempatan @charset yang Salah
Kesalahan yang paling sering terjadi adalah menempatkan @charset di tempat lain selain baris paling pertama. Jika Anda memiliki komentar, baris kosong, atau aturan lain sebelumnya, itu akan diabaikan.
/* Stylesheet Saya */
@charset "UTF-8"; /* Ini benar */
/* Stylesheet Saya */
@charset "UTF-8"; /* Salah: ada spasi putih sebelumnya */
/* Stylesheet Saya */
@import url("reset.css");
@charset "UTF-8"; /* Salah: ada @import sebelumnya */
Solusi: Selalu pastikan @charset adalah deklarasi absolut pertama dalam file CSS Anda.
2. Ketidakcocokan Antara Pengodean File dan Deklarasi Pengodean
Jika file CSS Anda disimpan sebagai, katakanlah, ISO-8859-1, tetapi Anda mendeklarasikan @charset "UTF-8";, karakter di luar rentang ASCII kemungkinan akan dirender secara tidak benar. Hal yang sama berlaku jika file tersebut UTF-8 tetapi dideklarasikan sebagai pengodean yang lebih lama.
Solusi: Selalu simpan file Anda dalam pengodean yang Anda deklarasikan (lebih disukai UTF-8) dan pastikan konsistensi dengan header server dan tag meta HTML. Gunakan opsi "Save As..." atau "Change Encoding" pada editor teks untuk mengonversi file jika perlu.
3. Konfigurasi Server Menggantikan @charset
Jika server Anda mengirim header HTTP Content-Type yang menentukan pengodean yang berbeda dari aturan @charset Anda, header server akan menang. Ini dapat menyebabkan mojibake yang tidak terduga, bahkan jika @charset Anda sudah benar.
Solusi: Konfigurasikan server web Anda untuk selalu mengirim Content-Type: text/css; charset=UTF-8 untuk semua file CSS. Ini adalah pendekatan yang paling andal.
4. Masalah BOM UTF-8
Meskipun kurang umum dengan perkakas modern, BOM UTF-8 yang tidak diinginkan terkadang dapat mengganggu proses parsing, terutama pada versi browser atau pengaturan server yang lebih lama, kadang-kadang menyebabkan karakter tak terlihat atau pergeseran tata letak di awal file.
Solusi: Simpan semua file UTF-8 Anda tanpa BOM. Banyak editor teks menawarkan opsi ini. Jika Anda mengalami masalah, periksa apakah ada BOM menggunakan editor hex atau editor teks khusus yang dapat menampilkan karakter tersembunyi.
5. Escaping Karakter untuk Karakter Khusus dalam Selektor/Konten
Jika Anda perlu menggunakan karakter non-ASCII langsung di dalam pengenal CSS (seperti nama kelas, meskipun tidak direkomendasikan untuk proyek global) atau nilai string (seperti content untuk elemen semu), Anda juga dapat menggunakan escape CSS (\ diikuti oleh titik kode Unicode). Misalnya, content: "\20AC"; untuk simbol Euro. Pendekatan ini memastikan kompatibilitas terlepas dari pengodean file, tetapi membuat stylesheet kurang dapat dibaca oleh manusia.
.euro-icon::before {
content: "\20AC"; /* Escape Unicode untuk simbol Euro */
}
.korean-text::after {
content: "\C548\B155\D558\C138\C694"; /* Escape Unicode untuk 'μλ
νμΈμ' */
}
Menggunakan @charset "UTF-8"; dan menyematkan karakter secara langsung umumnya lebih disukai untuk keterbacaan ketika file disimpan dengan benar sebagai UTF-8. Escaping adalah alternatif yang kuat untuk skenario spesifik atau ketika kepastian mutlak diperlukan.
Dampak Global dari Pengodean yang Benar
Detail teknis yang tampaknya sepele tentang pengodean karakter, dan dengan demikian, aturan @charset, memiliki implikasi mendalam bagi jangkauan global dan aksesibilitas konten web Anda:
- Mencegah "Mojibake" secara Global: Tidak ada yang merusak pengalaman pengguna seperti teks yang kacau. Baik itu item menu, sepotong konten bergaya, atau label tombol, pengodean yang salah dapat membuat teks tidak dapat dibaca, segera mengasingkan pengguna yang berbicara bahasa berbeda atau menggunakan skrip non-Latin. Memastikan pengodean yang benar mencegah "kerusakan teks" ini bagi pengguna di mana saja.
- Mengaktifkan Internasionalisasi Sejati (i18n): Untuk situs web yang dirancang untuk melayani audiens global, internasionalisasi yang kuat tidak dapat ditawar. Ini melibatkan dukungan untuk berbagai bahasa, format tanggal/waktu yang berbeda, simbol mata uang, dan arah teks (kiri-ke-kanan, kanan-ke-kiri). Pengodean karakter yang tepat adalah landasan di mana semua upaya internasionalisasi ini dibangun. Tanpanya, bahkan sistem terjemahan yang paling canggih pun akan gagal ditampilkan dengan benar.
- Menjaga Konsistensi Merek di Seluruh Wilayah: Identitas visual merek Anda meluas hingga bagaimana teksnya muncul. Jika nama merek atau slogan menyertakan karakter unik atau disajikan dalam skrip non-Latin, pengodean yang benar memastikan bahwa aspek penting dari merek Anda ini ditampilkan secara konsisten dan profesional, terlepas dari lokasi atau pengaturan sistem pengguna.
- Meningkatkan SEO untuk Pencarian Global: Mesin pencari sangat bergantung pada teks yang ditafsirkan dengan benar untuk mengindeks konten. Jika karakter Anda kacau karena masalah pengodean, mesin pencari mungkin kesulitan untuk memahami dan mengkategorikan konten Anda dengan benar, yang berpotensi merusak peringkat dan keterbacaan mesin pencari global Anda.
- Meningkatkan Aksesibilitas: Bagi pengguna yang mengandalkan teknologi bantu (pembaca layar, pembesar), rendering teks yang benar adalah hal terpenting. Teks yang kacau tidak hanya tidak terbaca oleh mata manusia tetapi juga oleh alat aksesibilitas, membuat konten Anda tidak dapat diakses oleh sebagian besar basis pengguna global.
Di dunia di mana internet melampaui batas geografis, mengabaikan pengodean karakter sama saja dengan membangun penghalang bahasa di tempat yang seharusnya tidak ada. Aturan sederhana @charset, ketika dipahami dan diterapkan dengan benar, berkontribusi secara signifikan untuk meruntuhkan penghalang ini, mendorong internet yang benar-benar global dan inklusif.
Kesimpulan: Aturan Kecil dengan Implikasi Besar
Aturan @charset CSS, meskipun tampak seperti detail kecil dalam lanskap pengembangan web yang luas, memainkan peran yang sangat besar dalam memastikan kompatibilitas global dan rendering yang benar dari stylesheet Anda. Ini adalah bagian fundamental dari teka-teki pengodean karakter, bekerja bersama dengan header HTTP, BOM, dan tag meta HTML untuk mengkomunikasikan bahasa byte Anda ke browser.
Dengan merangkul UTF-8 sebagai standar pengodean universal Anda di semua aset web β dari HTML dan CSS hingga JavaScript dan konfigurasi server β dan dengan secara konsisten menerapkan @charset "UTF-8"; di paling awal stylesheet Anda, Anda meletakkan fondasi yang kuat untuk kehadiran web yang benar-benar internasional. Perhatian yang cermat terhadap detail ini mencegah "mojibake" yang membuat frustrasi dan memastikan bahwa konten, desain, dan identitas merek Anda disajikan dengan sempurna kepada setiap pengguna, di mana pun di dunia, terlepas dari bahasa asli atau skrip mereka.
Saat Anda terus membangun untuk web, ingatlah bahwa setiap karakter penting. Strategi pengodean karakter yang konsisten dan jelas, dipelopori oleh aturan sederhana @charset di CSS Anda, bukan hanya formalitas teknis; itu adalah komitmen untuk internet yang benar-benar global, dapat diakses, dan ramah pengguna.